home *** CD-ROM | disk | FTP | other *** search
/ Almathera Ten Pack 3: CDPD 3 / Almathera Ten on Ten - Disc 3: CDPD3.iso / fish / 001-100 / 001-025 / 024 / conquest / conqsubs.c < prev    next >
C/C++ Source or Header  |  1995-03-17  |  4KB  |  123 lines

  1. #include <stdio.h>
  2. #include "defs.h"
  3. #include "structs.h"
  4. #include "vars.h"
  5.  
  6. ressum()
  7. {
  8.         char key;
  9.         int value, ind;
  10.         char iline[81];
  11.         printf("esearch field(s):");
  12.         get_line(iline,&ind,true);
  13.         get_token(iline,&ind,&value,&key);
  14.         cle3r_left();
  15.         if ( key==' ') {
  16.                 pr2nt_res('R');
  17.                 pr2nt_res('V');
  18.                 pr2nt_res('W');
  19.         } 
  20.         else {
  21.                 do {
  22.                         pr2nt_res(key);
  23.                         get_token(iline,&ind,&value,&key);
  24.                 } 
  25.                 while (key != ' ');
  26.         };
  27. }
  28.  
  29.  
  30. pr2nt_res(field)
  31. char field;
  32. {
  33.         switch ( field ) {
  34.         case 'V':
  35.                 point(53,18);
  36.                 printf("V:%2d",vel[player]);
  37.                 if ( vel[player] < max_vel )
  38.                         printf(" res: %3d need:%4d",vel_working[player],
  39.                         vel_req[vel[player]+1]);
  40.                 else printf("                   ");
  41.                 break;
  42.         case 'R':
  43.                 point( 53,19);
  44.                 printf("R:%2d",range[player]);
  45.                 if ( range[player] < bdsize )
  46.                         printf(" res: %3d need:%4d",ran_working[player],
  47.                         ran_req[range[player]+1]);
  48.                 else printf("                   ");
  49.                 break;
  50.         case 'W':
  51.                 point(53,20);
  52.                 printf("W:%2d",weapons[player]);
  53.                 if ( weapons[player] < 10 )
  54.                         printf(" res: %3d need:%4d",weap_working[player],
  55.                         weap_req[weapons[player]+1]);
  56.                 else printf("                   ");
  57.                 break;
  58.         }; /*switch (*/
  59. }
  60.  
  61. research(team, field, amt)
  62. int team;
  63. char field;
  64. int amt;
  65. {
  66.         switch ( field ) {
  67.         case 'W':
  68.                 if ( weapons[team]<10 ) {
  69.                         weap_working[team]=weap_working[team]+amt;
  70.                         amt=0;
  71.                         if ( weap_working[team]>= weap_req[weapons[team]+1] ) {
  72.                                 amt=weap_working[team]
  73.                                                 - weap_req[weapons[team]+1];
  74.                                 weapons[team]=weapons[team]+1;
  75.                                 if ( team==ENEMY ) {
  76.                                         new_research();
  77.                                         field = en_research;
  78.                                 };
  79.                                 weap_working[team]=0;
  80.                                 research(team,field,amt);
  81.                         };
  82.                 };
  83.                 break;
  84.         case 'R':
  85.                 if ( range[team] < bdsize ) {
  86.                         ran_working[team]=ran_working[team]+amt;
  87.                         amt=0;
  88.                         if ( ran_working[team] >= ran_req[range[team]+1] )
  89.                                 {
  90.                                 amt= ran_working[team]
  91.                                                 - ran_req[range[team]+1];
  92.                                 range[team]=range[team]+1;
  93.                                 if ( team==ENEMY ) {
  94.                                         new_research();
  95.                                         field = en_research;
  96.                                 };
  97.                                 ran_working[team]=0;
  98.                                 research(team,field,amt);
  99.                         };
  100.                 };
  101.                 break;
  102.         case 'V':
  103.                 if ( vel[team] <max_vel ) {
  104.                         vel_working[team]= vel_working[team]+amt;
  105.                         amt=0;
  106.                         if ( vel_working[team] >= vel_req[vel[team]+1] ) {
  107.                                 amt= vel_working[team]-vel_req[vel[team]+1];
  108.                                 vel[team]=vel[team]+1;
  109.                                 if ( team==ENEMY ) {
  110.                                         new_research();
  111.                                         field = en_research;
  112.                                 };
  113.                                 vel_working[team]=0;
  114.                                 research(team,field,amt);
  115.                         };
  116.                 };
  117.                 break;
  118.         default: 
  119.                 printf("error!!!! in research field %c\n", field);
  120.         }; /*switch (*/
  121. }
  122.  
  123.